home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MATH / NRPAS13 / POLCOE.PAS < prev    next >
Pascal/Delphi Source File  |  1991-04-29  |  800b  |  35 lines

  1. PROCEDURE polcoe(x,y: glnarray; n: integer; VAR cof: glnarray);
  2. (* Programs using routine POLCOE must define the type
  3. TYPE
  4.    glnarray = ARRAY [1..narray] OF real;
  5. in the main routine. *)
  6. VAR
  7.    k,j,i: integer;
  8.    phi,ff,b: real;
  9.    s: glnarray;
  10. BEGIN
  11.    FOR i := 1 TO n DO BEGIN
  12.       s[i] := 0.0;
  13.       cof[i] := 0.0
  14.    END;
  15.    s[n] := -x[1];
  16.    FOR i := 2 TO n DO BEGIN
  17.       FOR j := n+1-i TO n-1 DO BEGIN
  18.          s[j] := s[j]-x[i]*s[j+1]
  19.       END;
  20.       s[n] := s[n]-x[i]
  21.    END;
  22.    FOR j := 1 TO n DO BEGIN
  23.       phi := n;
  24.       FOR k := n-1 DOWNTO 1 DO BEGIN
  25.          phi := k*s[k+1]+x[j]*phi
  26.       END;
  27.       ff := y[j]/phi;
  28.       b := 1.0;
  29.       FOR k := n DOWNTO 1 DO BEGIN
  30.          cof[k] := cof[k]+b*ff;
  31.          b := s[k]+x[j]*b
  32.       END
  33.    END
  34. END;
  35.